package com.example.permissionserviceconsumer.service;

import com.myprojects.common.pojo.Role;
import com.myprojects.common.pojo.UserWithRole;
import com.github.pagehelper.PageInfo;
import com.myprojects.common.dto.Msg;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;

@Component
public class FeignUserWithRoleServiceFallback implements FeignUserWithRoleService{

    /**
     * 该方法用于获取全部的角色
     */
    @Override
    public Msg getAllRoles(){
        Msg msg = Msg.failed();
        List<Role> roleList = new ArrayList();
        Role role = new Role();
        role.setId(-1);
        role.setRole_name("提供者无响应!");
        role.setBrief("提供者无响应!");
        for (int i = 0; i < 10; i++) {
            roleList.add(role);
        }
        PageInfo pageInfo = new PageInfo(roleList);
        msg.setMsg("查询角色接口无响应!");
        msg.addData("pageInfo",pageInfo);
        return msg;
    }

    /**
     * 该方法用于分页查询所有的用户信息(非员工)
     */
    @Override
    public Msg selectUsersByPageNum(
            @RequestParam(value = "pn", defaultValue = "1") Integer pageNum,
            @RequestParam(value = "size", defaultValue = "10") Integer pageSize,
            @RequestParam(value = "search", defaultValue = "") String searchStr){
        Msg msg = Msg.failed();
        List<UserWithRole> userList = new ArrayList();
        UserWithRole user = new UserWithRole();
        user.setId(-1);
        user.setUsername("提供者无响应!");
        for (int i = 0; i < pageSize; i++) {
            userList.add(user);
        }
        PageInfo pageInfo = new PageInfo(userList);
        msg.setMsg("查询用户接口无响应!");
        msg.addData("pageInfo",pageInfo);
        return msg;
    }

    @Override
    public Msg checkNewUser(UserWithRole user) {
        Msg msg = Msg.failed();
        msg.setMsg("检查用户接口无响应!");
        return msg;
    }

    @Override
    public Msg checkUpdateUser(UserWithRole user) {
        Msg msg = Msg.failed();
        msg.setMsg("检查用户接口无响应!");
        return msg;
    }

    @Override
    public Msg saveUser(@RequestBody UserWithRole user){
        Msg msg = Msg.failed();
        msg.setMsg("保存用户接口无响应!");
        return msg;
    }

    @Override
    public Msg updateUser(@RequestBody UserWithRole user){
        Msg msg = Msg.failed();
        msg.setMsg("更新用户接口无响应!");
        return msg;
    }

//    @Override
//    public Msg updateUserWithoutRole(@RequestBody UserWithRole user){
//        Msg msg = Msg.failed();
//        msg.setMsg("更新用户接口无响应!");
//        return msg;
//    }
//
//    @Override
//    public Msg checkUserWithoutRole(@RequestBody UserWithRole user){
//        Msg msg = Msg.failed();
//        msg.setMsg("检查用户接口无响应!");
//        return msg;
//    }

    @Override
    public Msg deleteLotsUser(@RequestParam List<Integer> idList){
        Msg msg = Msg.failed();
        msg.setMsg("删除用户接口无响应!");
        return msg;
    }

}
